<script>
	export default {
		onLaunch: function() {
			// console.warn('当前组件仅支持 uni_modules 目录结构 ，请升级 HBuilderX 到 3.1.0 版本以上！')
			console.log('App Launch')
			const isFirstLaunch = uni.getStorageSync('isFirstLaunch') || true;
			if (isFirstLaunch) {
			  // 这里是首次启动时的逻辑处理
			  console.log('首次启动应用');
			  
			  // 可以在这里执行首次启动时需要的操作，例如初始化数据等
			  
			  // 标记不是首次启动
			  // uni.setStorageSync('isFirstLaunch', false);
			} else {
			  console.log('非首次启动应用');
			}
		},
		onShow: function() {
			console.log('App Show')
			// #ifdef APP-PLUS   //只有App才会执行 检查更新 方法
			uni.getSystemInfo({
				success: (res) => {
					var that = this;
					//检测当前平台，如果是安卓则启动安卓更新  
					if (res.platform == "android") {
						that.checkUpdateApp();
					}
				}
			})
			// #endif
		},
		methods: {
			checkUpdateApp() {
				console.log('apppppppppppppppppppppp');
				//  获取manifest.json里的配置信息
				plus.runtime.getProperty(plus.runtime.appid, function(widgetinfo) {
					// 	// 可以根据manifest.json里的应用名称来进行针对性的APP升级
					console.log(widgetinfo);
					if (widgetinfo.name == "辉胜") { //APP名称
						console.log('辉胜');
						uni.setStorageSync('version', widgetinfo.version)
						// 获取manifest.json里的版本号   
						uni.request({
							url: 'https://p2papi.gratls.com.cn/127', //服务器请求更新信息地址
							method: 'POST',
							success: (srcData) => {
								console.log(srcData)
								let data = srcData.data.data;
								let version = parseInt(widgetinfo.versionCode), //用户当前版本
									appVersion = data.versionCode, //升级包版本
									appName = widgetinfo.name, //app名称
									updata = data.forceUpdate, //是否强制热更新
									appurl = data.androidUrl, //升级包地址
									intro = data.versionInfo; //升级包提示
								// wgt_version = data.wgt_version, //热更新版本号
								// wgt_download = data.wgt_download; //热更新地址

								//如果用户版本号小于升级包版本号，先升级	
								console.log(version,'--',appVersion);
								if(data && (version<appVersion)) {
									// if (data.forceUpdate == 3 || data.forceUpdate == 4) {
										uni.showModal({
											title: "更新提示",
											confirmText: "立即升级",
											content: intro||'',
											showCancel: false,
											success: (res) => {
												if (res.confirm) {
													uni.showLoading({
														title: "正在更新",
														mask: true
													})
													uni.downloadFile({
														url: appurl,
														success: (download) => {
															if (download.statusCode == 200) {
																plus.runtime.install(download.tempFilePath, {force: false}, () => {
																			uni.hideLoading();
																			plus.runtime.restart(); //更新成功启动
																		}, (err) => { //若没下载成功还是去下载
																			uni.hideLoading();
																			uni.showToast({
																				title: "更新失败，将跳转下载页面",
																				icon: "none",
																				duration: 2000
																			})
																		})
																setTimeout(
																	function() {
																		plus.runtime
																			.openURL(
																				appurl
																			);
																	}, 2000)
															}
														}
													})
												} else if (res.cancel) {
													console.log('用户点击取消');
													uni.showToast({
														title: "版本更新,请先升级",
														icon: "none",
														duration: 2000
													})
													//退出app
													setTimeout(function() {
														plus.runtime.quit();
													}, 2000)
												}
											},
											fail: () => {
												uni.hideLoading();
											}
										})
									// } else if (data.forceUpdate == 1 || data.forceUpdate == 2) {
									// 	// if (true) {
									// 	uni.showModal({
									// 		title: "更新提示",
									// 		confirmText: "立即升级",
									// 		content: intro,
									// 		success: (res) => {
									// 			if (res.confirm) {
									// 				uni.showLoading({
									// 					title: "正在更新",
									// 					mask: true
									// 				})
									// 				uni.downloadFile({
									// 					url: appurl,
									// 					success: (download) => {
									// 						if (download.statusCode == 200) {
									// 							plus.runtime.install(download.tempFilePath, {force: false}, () => {
									// 										uni.hideLoading();
									// 										plus.runtime.restart(); //更新成功启动
									// 									}, (err) => { //若没下载成功还是去下载
									// 										uni.hideLoading();
									// 										uni.showToast({
									// 											title: "更新失败，将跳转下载页面",
									// 											icon: "none",
									// 											duration: 2000
									// 										})
									// 									})
									// 							setTimeout(
									// 								function() {
									// 									plus.runtime
									// 										.openURL(
									// 											appurl
									// 										);
									// 								}, 2000)
									// 						}
									// 					}
									// 				})
									// 			} else if (res.cancel) {
									// 				console.log('用户点击取消');
									// 				uni.showToast({
									// 					title: "版本更新,请先升级",
									// 					icon: "none",
									// 					duration: 2000
									// 				})
									// 				//退出app
									// 				// setTimeout(function() {
									// 				// 	plus.runtime.quit();
									// 				// }, 2000)
									// 			}
									// 		},
									// 		fail: () => {
									// 			uni.hideLoading();
									// 		}
									// 	})
									// } 
								}
								// // //如果用户版本号大于升级包但不等于热更新版本的情况下，去热更新
								// if (data && (version >= appVersion) && (version != appVersion)) {
								// 	uni.showLoading({
								// 		title: "正在更新包，请稍后...",
								// 		mask: true
								// 	})
								// 	uni.downloadFile({
								// 		url: appurl,
								// 		success: (wgtdow) => {
								// 			if (wgtdow.statusCode == 200) {
								// 				plus.runtime.install(wgtdow.tempFilePath, {
								// 					force: true
								// 				}, () => {
								// 					uni.hideLoading();
								// 					plus.runtime
								// 						.restart(); //更新成功启动
								// 				}, (err) => { //若没下载成功还是去下载
								// 					uni.hideLoading();
								// 					uni.showModal({
								// 						content: "更新失败，请手动下载最新中和之城APP",
								// 						success: (res) => {
								// 							plus.runtime.openURL(appurl);
								// 						}
								// 					})
								// 				})

								// 			}
								// 		}
								// 	})
								// }

							}
						})
					} else {
						// 		//非安卓
					}
				});

			}
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	@import '@/uni_modules/uni-scss/index.scss';
	/* #ifndef APP-NVUE */
	@import '@/static/customicons.css';
	// 设置整个项目的背景色
	page {
		// background-color: #f5f5f5;
		background-color: #F7F7F7;
	}

	/* #endif */
	.example-info {
		font-size: 14px;
		color: #333;
		padding: 10px;
	}
	.default_btn {
		width: 460rpx;
		height: 80rpx;
		line-height: 80rpx;
		background: linear-gradient(to right, #FF5F3B 0%, #FF524F 100%);
		border-radius: 40rpx;
		color: white;
		font-size: 32rpx;
		text-align: center;
		margin: 0 auto;
	}
</style>
